/**
*
* @author Anastasiya
*
*/

#pragma once
#include <windows.h>
#include <string>
#include <iostream>

namespace utl{
	const int LONG_BUFFER = 20;
	const int INT_BUFFER = 10;
	const std::string SLASH = "\\";
	const std::string ALL_SUBFILES = "\\*";

	const std::string DIR_NAME_CURRENT = ".";
	const std::string DIR_NAME_UPPER = "..";

	const std::string TIME_POSTFIX_SEC = "s ";
	const std::string TIME_POSTFIX_MILLISEC = "ms ";


	enum PathType{IS_DIR, IS_FILE, NOT_EXISTS};

	std::string numberToString(const int x);

	std::string timeToString(const ULONGLONG x);

	void changeCurrentDirToInput(const std::string inputPath);

	PathType testPathType(const std::string path);

	std::string createGraphNameForAlgorithm(const std::string inputGraphFileName, 
		const std::string algorithmName);

	ULONGLONG calculateTimeDifference(const SYSTEMTIME startTime, const SYSTEMTIME endTime);

	ULONGLONG systemTimeInMs(const SYSTEMTIME time);

	std::string getFileNameByPath(const std::string filePath);

	std::string getDirectoryByPath(const std::string filePath);

	std::string removeLastSlash(std::string s);
}